@L|}6CD l0C)HCC WhL/h `CmCDiD`  R@W1  Y0@R !L` D  C D     )16CS S)  C)D1 p p 0 C9DI pCDL~CiCDiD`1000 DIM PT$(1),PTLAST$(1),ANS(2,2)1010 GOTO 27101020 REM 1030 REM | PLOTING CODE DRAW2D |1040 REM} | RELEASE 1.3 |1050 REM 1060 CLIP$="Y"1070 ALAST=-777777:BLAST=ALAST1080 PTLAST$="I"1090} K=01100 FOR KK=1 TO PTCNT1110 X=XY(KK,1):Y=XY(KK,2)1120 REM 1130 REM | TEST FOR DATA COMMAND |}1140 REM 1150 IF X<>-777777 THEN 11801160 REM COMMAND=1 IS PEN UP1170 IF Y=1 THEN CLIP$="Y":GOTO }21801180 REM 1190 REM | CONVERT X,Y TO TUBE A,B |1200 REM 1210 K=K+ }11220 DIFX=0.86*(X-XCENTER)1230 X=XCENTER+DIFX1240 A=(X-XMIN)*REL1+AMIN1250 B=(Y-YMIN)*REL2+BMAX1260 REM  }1270 REM | CLIP LOGIC |1280 REM 1290 PT$="I"1300 IF AAMAX THEN PT$="O"1310 IF BBMAX T }HEN PT$="O"1320 IF PT$="I" AND PTLAST$="I" THEN GOTO 20801330 IF PT$="O" AND PTLAST$="O" THEN GOTO 15801340 IF PT$="I" AND } PTLAST$="O" THEN GOTO 18601350 REM 1360 REM | PT IS OUT, LAST PT IN |1370 REM  }1380 IF K=1 THEN 21601390 X=A:Y=B1400 IF A=ALAST THEN 14901410 IF B=BLAST THEN 15401420 REM 1430 REM NOT 90 DEGR}EES TO EDGE1440 GOSUB 22001450 IF CNT<1 THEN 21601460 X=ANS(1,1):Y=ANS(1,2)1470 GOTO 15701480 REM 1490 REM VERT LINE15}00 IF B>BMAX THEN Y=BMAX1510 IF BAMAX THEN X=AMAX15}60 IF AAMAX AND ALAST>AMAX THEN 21601630 IF BBMAX AND BLAST>BMAX THEN 21601650 IF K=1 THEN 21601660 X=A:Y=B1670 IF A=ALAST THEN }17601680 IF B=BLAST THEN 18001690 REM 1700 REM LN HITS TUBE AT ANGLE1710 GOSUB 22001720 IF CNT<>2 THEN 21601730 X=ANS(1},1):Y=ANS(1,2)1740 ALAST=ANS(2,1):BLAST=ANS(2,2)1750 GOTO 18301760 REM VERT LINE ACROSS TUBE1770 IF BBMAX THEN Y=BMAX:BLAST=BMIN1790 GOTO 18301800 REM HORZ LINE ACROSS TUBE1810 IF AAMAX THEN X=AMAX:ALAST=AMIN1830 PLOT ALAST,BLAST1840 DRAWTO X,Y1850 GOTO 21601860 REM }1870 REM | PT IS IN, LAST PT OUT |1880 REM 1890 IF A=ALAST THEN 19901900 IF B=BLAST THEN 2}0401910 REM 1920 REM NOT 90 DEGREES TO EDGE1930 IF K=1 THEN 21601940 GOSUB 22001950 IF CNT<1 THEN 21601960 ALAST=ANS(1,}1):BLAST=ANS(1,2)1970 GOTO 20701980 REM 1990 REM VERT LINE2000 IF BLAST>BMAX THEN BLAST=BMAX2010 IF BLASTAMAX THEN ALAST=AMAX2060 IF ALASTBMAX OR YAMAX OR XA AND X>ALAST THEN 24802400 IF XB AND Y>BLAST THEN 24802420 IF YANG2 THEN ANG2=ANG2+360:GOTO 25702580 IF ANG<5 THEN AN'}G=52590 REM CHECK FOR CIRCLE OFF TUBE2600 IF XC-R>XMAX THEN RETURN 2610 IF XC+RYMAX THEN R(}ETURN 2630 IF YC+R}3620 POKE 764,255:X=3:Y=123630 FOR K=1 TO X3640 SOUND 0,80,10,Y3650 FOR I=1 TO 15:NEXT I3660 SOUND 0,0,0,03670 FOR ?}I=1 TO 5:NEXT I3680 NEXT K3690 X=1:Y=63700 FOR I=1 TO 9993710 IF PEEK(764)<>255 THEN POP :GOTO 37403720 NEXT I3730 GOTO@} 36303740 OPEN #4,4,0,"K:":GET #4,X3750 CLOSE #4:GOTO 47203760 REM 3770 REM | START LOOP FOR PLA}OTING |3780 REM 3790 ECNT=03800 ADR1=ADR(PRINT$):ADR2=ADR(TEXT$)3810 REM GET NEXT COMMAND TYPEB}3820 TRAP 35903830 READ TYPE:TYPE=INT(TYPE)3840 ECNT=ECNT+13850 TEXT$(1)=STR$(ECNT)3860 X=LEN(TEXT$)3870 TEXT$(X+1)=" OFC} "3880 X=LEN(TEXT$)3890 TEXT$(X+1)=STR$(ECNT1)3900 X=LEN(TEXT$)3910 IF ECNT=ECNT1 THEN TEXT$=" ":X=83920 IF ECNT=D}1 AND TYPE<>1 THEN TEXT$(X+1)=" ATARI LAYOUT BY JACK GILCHRIST":X=LEN(TEXT$)3930 IF TYPE=1 THEN TEXT$(X+1)=" E} ":X=LEN(TEXT$)3940 C=USR(ADR1,0,23,ADR2,X)3950 REM 3960 REM TYPES 1,2,3,4,5 FORMAT3970 REM DATA TYPE,X,YF},TEXT3980 REM 3990 REM 1=TITLE TEXT AT BOTTOM4000 REM 2=HORZ TEXT STARTING AT X,Y4010 REM 3=VERT TEXT STARTING AT X,Y402G}0 REM 4=HORZ TEXT CENTERED ON X,Y4030 REM 5=VERT TEXT CENTERED ON X,Y4040 REM TYPE 1 IS ALWAYS DISPLAYED4050 REM X,Y REQUIH}RED BUT NOT USED4060 REM 4070 REM 6=UNASSIGNED4080 REM 7=CCW ARC FORMAT4090 REM DATA 7,ANG,XC,YC,R,ANG1,ANG24100 REM 4I}110 REM 8=FULL CIRCLE4120 REM FORMAT DATA 8,ANGLE,XC,YC,R4130 REM ANGLE=DEGREES BETWEEN POINTS4140 REM TO BE SAMPLED4150 J}REM 4160 REM 9=PT ARRAY4170 REM FORMAT4180 REM DATA 9,PTCNT,X1,Y1,...XN,YN4190 REM 4200 REM 10=BOX4210 REM DATA 10,XMINK},YMIN,XLENGTH,YLENGTH4220 REM 4230 REM 11=SOLID BOX4240 REM FORMAT SAME AS TYPE 104250 REM 4260 REM 12 BOX AT ANGLE4270L} REM 4280 IF TYPE<1 OR TYPE>12 THEN GOTO 47104290 ON TYPE GOSUB 6700,6700,6700,6700,6700,2710,2500,2500,4300,4390,4390,4390M}:GOTO 38104300 REM 4310 REM | SUB FOR PT ARRAY |4320 REM 4330 READ PTCNT4340 FORN} I=1 TO PTCNT4350 READ X,Y4360 XY(I,1)=X:XY(I,2)=Y4370 NEXT I4380 GOTO 10204390 REM 4400 REM | SUB FOR BO}OX |4410 REM 4420 REM GET BOX CORNERS4430 GOSUB 70104440 IF TYPE=11 THEN 44604450 GOTO 10204460 REM P}4470 REM | FILL IN BOX |4480 REM 4490 GOSUB 10204500 DIFX=0.86*(XY(4,1)-XCENTER)4510 X=XCENTERQ}+DIFX:Y=XY(4,2)4520 A1=(X-XMIN)*REL1+AMIN4530 B1=(Y-YMIN)*REL2+BMAX4540 DIFX=0.86*(XY(2,1)-XCENTER)4550 X=XCENTER+DIFX:Y=R}XY(2,2)4560 A2=(X-XMIN)*REL1+AMIN4570 B2=(Y-YMIN)*REL2+BMAX4580 IF A1>AMAX THEN RETURN 4590 IF A2BMAX THEN RETURN 4610 IF B2AMAX THEN A2=AMAX4640 IF B1BMAX THEN B2=BMAX4660 FOR I=B1 TO B24670 PLOT A1,I4680 DRAWTO A2,I4690 NEXT I4700 RETURN 4710U} ? "BAD COMMAND";TYPE:GOTO 35904720 REM 4730 REM | MAIN MENU |4740 REM 4750 GRAPHICS 1:POKE 751V},14760 SETCOLOR 4,9,3:SETCOLOR 2,9,34770 SETCOLOR 0,9,12:SETCOLOR 1,9,104780 POSITION 1,04790 ? #6;"DISPLAY OPTIONS"4800W} POSITION 1,34810 ? #6;"(A) SET WINDOW"4820 POSITION 1,54830 ? #6;"(B) DISPLAY"4840 POSITION 1,74850 ? #6;"(C) NEW DRAWIX}NG"4860 POSITION 1,94870 ? #6;"(D) RETURN"4880 POSITION 1,114890 ? #6;"(E) STOP"4900 OPEN #4,4,0,"K:":GET #4,X4910 CLOSY}E #44920 IF X<65 OR X>69 THEN GOTO 47204930 IF X=69 THEN GRAPHICS 0:END 4940 IF X=68 THEN RUN "D1:DRAW"4950 IF X=67 THEN Z}RUN "D1:DRAW2D.MSH"4960 IF X=65 THEN GOSUB 4990:GOTO 47204970 RESTORE 4980 GOTO 32604990 REM 5000 R[}EM | SUB TO SET WINDOW |5010 REM 5020 GRAPHICS 05030 ? "INPUT DATA MAX-MIN'S"5040 ? " XMAX=";XB,50\}50 ? " XMIN=";XS5060 ? " YMAX=";YB,5070 ? " YMIN=";YS:? 5080 ? "CURRENT WINDOW RANGE"5090 ? " XMAX=";XMAX,5100 ? " ]}XMIN=";XMIN5110 ? " YMAX=";YMAX,5120 ? " YMIN=";YMIN:? 5130 ? "YOUR OPTIONS ARE!"5140 ? " (A) SHIFT X"5150 ? " (B) S^}HIFT Y"5160 ? " (C) SET CENTER XC,YC"5170 ? " (D) SCALE BY #"5180 ? " (E) SET SCALE"5190 ? " (F) SET WINDOW"5200 ? "_} (G) WINDOW=DATA MAX-MIN'S"5210 ? " (H) RETURN"5220 OPEN #4,4,0,"K:":GET #4,X5230 CLOSE #45240 IF X<65 OR X>72 THEN GOT`}O 49905250 IF X=72 THEN RETURN 5260 IF X=71 THEN XMAX=XB:XMIN=XS:YMAX=YB:YMIN=YS:GOTO 49905270 IF X=65 THEN GOTO 53305280a} IF X=66 THEN GOTO 53805290 IF X=67 THEN GOTO 54305300 IF X=68 THEN GOTO 55505310 IF X=69 THEN GOTO 56705320 IF X=70 THENb} GOTO 57905330 REM SHIFT X5340 ? :? "INPUT DESIRED SHIFT IN X ";5350 INPUT X5360 XMAX=XMAX+X:XMIN=XMIN+X5370 GOTO 49905c}380 REM SHIFT Y5390 ? :? "INPUT DESIRED SHIFT IN Y ";5400 INPUT X5410 YMAX=YMAX+X:YMIN=YMIN+X5420 GOTO 49905430 REM SET d}X,Y CENTER5440 ? :? "INPUT X AND Y DESIRED AT CENTER!"5450 ? "CURRENT CENTER IS";5460 A=(XMAX+XMIN)/25470 B=(YMAX+YMIN)/2e}5480 ? " XC=";A;5490 ? " YC=";B:? 5500 ? "DESIRED CENTER IS ";5510 INPUT X,Y5520 I=X-A:XMAX=XMAX+I:XMIN=XMIN+I5530 I=f}Y-B:YMAX=YMAX+I:YMIN=YMIN+I5540 GOTO 49905550 REM SCALE BY #5560 CSCALE=ABS((XB-XS)/(XMAX-XMIN))5570 ? :? "CURRENT SCALE=g}";CSCALE5580 ? "CHANGE SCALE BY=";:INPUT SCALE5590 XC=(XMAX+XMIN)/25600 YC=(YMAX+YMIN)/25610 X=(XMAX-XMIN)/2:Y=(YMAX-YMINh})/25620 XMAX=XC+X/SCALE5630 XMIN=XC-X/SCALE5640 YMAX=YC+Y/SCALE5650 YMIN=YC-Y/SCALE5660 GOTO 49905670 REM SET SCALE TO i}#5680 CSCALE=ABS((XB-XS)/(XMAX-XMIN))5690 ? :? "CURRENT SCALE=";CSCALE5700 ? "CHANGE SCALE TO=";:INPUT SCALE5710 XC=(XMAXj}+XMIN)/25720 YC=(YMAX+YMIN)/25730 X=(XB-XS)/2:Y=(YB-YS)/25740 XMAX=XC+X/SCALE5750 XMIN=XC-X/SCALE5760 YMAX=YC+Y/SCALE57k}70 YMIN=YC-Y/SCALE5780 GOTO 49905790 ? :REM SET WINDOW VALUES5800 ? "YOUR VALUES";5810 ? " WILL BE ADJUSTED TO"5820 ? "Pl}ROPORTIONAL RATIO OF THE TV TUBE"5830 ? 5840 ? "INPUT YOUR VIEWPORT AS FOLLOWS"5850 ? "XMAX,XMIN,YMAX,YMIN"5860 ? "YOUR Vm}ALUES ARE ";5870 INPUT XMAX,XMIN,YMAX,YMIN5880 GOTO 49905890 REM 5900 REM | CALC DISPLAY XY Mn}AXMIN'S |5910 REM 5920 XB=-777777:XS=7777775930 YB=-777777:YS=7777775940 GRAPHICS 2:POKE 751,o}15950 SETCOLOR 4,9,3:SETCOLOR 2,9,35960 SETCOLOR 0,9,12:SETCOLOR 1,9,105970 POSITION 4,15980 ? #6;"PLEASE WAIT!"5990 POSp}ITION 4,36000 ? #6;"I'M SCANNING"6010 POSITION 4,56020 ? #6;"YOUR DRAWING"6030 POSITION 4,76040 ? #6;"FOR IT'S X,Y"6050q} POSITION 4,96060 ? #6;" MAX-MIN'S!"6070 TRAP 66506080 ECNT1=06090 REM 6100 REM LOOP FOR EACH ENTITY6110 READ TYPE6120r} ECNT1=ECNT1+16130 IF TYPE=8 OR TYPE=7 THEN 62006140 IF TYPE>9 AND TYPE<13 THEN 63006150 IF TYPE=9 THEN 64306160 IF TYPE>s}0 AND TYPE<6 THEN 65506170 ? "I ENCOUNTER A TYPE OF DATA I"6180 ? "DON'T RECOGNIZE. TYPE=";TYPE6190 ? "ENTITY NUMBER IS "t};ECNT16200 REM 6210 REM | CALC MAXMIN OF CIRCLE |6220 REM 6230 READ ANGu},XC,YC,R6240 IF TYPE=7 THEN READ ANG1,ANG26250 IF XC+R>XB THEN XB=XC+R6260 IF XC-RYB THEN YBv}=YC+R6280 IF YC-RXB THEN XBx}=X6380 IF XYB THEN YB=Y6400 IF YXB THEN XB=X6500 IF XYB THEN YB=Y6520 IF YXB THEN XB=X6610 IF XYB THEN YB=Y6630 IF Y39 THEN GOTO 69706900 IF B>22 AND TYPE>1 THEN GOTO 69706910 IF B<0 OR B>23 THEN GOTO 69706920 CS1$=TEXT$(I,I)6930 R}EM ALLOW FOR VERT SHIFT TO6940 REM FRACTIONS OF A LINE6950 J=A+(40*(INT((B-INT(B))*8)))6960 C=USR(ADR(PRINT$),J,B,X,1)697}0 IF TYPE<3 OR TYPE=4 THEN A=A+16980 IF TYPE=3 OR TYPE=5 THEN B=B+16990 NEXT I7000 RETURN 7010 REM 7}020 REM | SUB FOR BOX |7030 REM | CALC ALL CORNERS |7040 REM 7050 READ X,Y,A,B7060 IF A<0 THEN X}=X+A:A=-A7070 IF B<0 THEN Y=Y+B:B=-B7080 IF TYPE=12 THEN READ ANG7090 PTCNT=57100 XY(1,1)=X:XY(1,2)=Y7110 XY(2,1)=X+A:XY}(2,2)=Y7120 XY(3,1)=XY(2,1):XY(3,2)=Y+B7130 XY(4,1)=X:XY(4,2)=XY(3,2)7140 XY(5,1)=X:XY(5,2)=Y7150 IF TYPE<12 THEN RETURN }7160 REM 7170 REM | ROTATE BOX TYPE=12 |7180 REM 7190 XC=XY(1,1):YC=XY(1,2)7}200 FOR I=2 TO 47210 IF I=2 THEN ANG1=0:R=A7220 IF I=4 THEN ANG1=90:R=B7230 IF I<>3 THEN 72707240 DIFX=XY(I,1)-XC:DIFY=XY}(I,2)-YC7250 R=SQR((DIFX*DIFX)+(DIFY*DIFY))7260 ANG1=ATN(DIFY/DIFX)7270 ANG2=ANG+ANG17280 XY(I,1)=(R*COS(ANG2))+XC7290 X}Y(I,2)=(R*SIN(ANG2))+YC7300 NEXT I7310 RETURN 01020 REM 1030 REM | PLOTING CODE DRAW2D |1040 REM1ATARI CAD/CAM FACILITY LAYOUTGILCHRIST/HEAVIN Page #@ Release # 1.2 0 501150AT}ARICAD/CAMFACILITY LAYOUTREFERENCE MANUALbyJack GilchristandPhil HeavenRelease 1.2Feburar}y 1984TABLE OF CONTENTSUsing the help facilities ........................ Page 3 General purpose of pack}age ....................... Page 3General procedure ................................ Page 3Getting started ..............}.................... Page 4Windowing ........................................ Page 5Making your own manual ..............}............. Page 6Copying codes in this package .................... Page 7Contacting the authors .....................}...... Page 7Hardcopy tube dump utility ....................... Page 7The demonstration data ........................... }Page 8Data overview .................................... Page 8Data coordinate systems .......................... Page 9}General rules .................................... Page 9Entity formats ................................... Page 9Plot c}ontrol ..................................... Page 12USING THE HELP UTILITIESOn your disk is stored various files o}f textual information that try to explain the operation of the ATARI CAD/CAM LAYOUT package. To access this information} you should select the option "HELPFUL HINTS" in the main menu. After you select the area where you would like some assista}nce the appropiate file is opened and displayed on your screen. At this time you may select from any of the following opti}ons: 1. RETURN TO MENU Hit any key 2. CONTINUE WITH NEXT PAGE Hit} space bar 3. MAKE HARDCOPY OF TUBE Hold SHIFT and hit key "C" See HELP (Hardco}py) for other optionsGENERAL PURPOSE OF PACKAGEWe feel that the ATARI has a powerful set of graphic capabilities. H}owever the benefits of developing a graphics picture usually isn't worth all the time and energy for the typical computer own}er. The goal of this package is to allow you to quickly define a graphical layout, such as a home floor plan.You will disc}over that this software supports a variety of ways to define your geometry and control the size and location of images on the} tube. It is our hope that our efforts will result in a new set of useful work for your home computer.THE GENERAL PROCE}DUREThe method of operation expected in this package is for the user to create a file on disk describing the picture desi}red. This is done by using the basic language capabilities to create a series of data statements to describe the geometry wa}nted.The types and forms of geometry supported are described under the heading "ENTITY FORMATS". The picture description o}nce created and checked out can be easily saved by using the basic "LIST" command.Example of LIST: LIST "D1:KITCHEN.DAT",}10000,12000When the display package is executed your saved data statements will be temporarily added to the code. It is im}portant that the numbering scheme for the data contains only values of 10000 or larger to insure that it doesn't destroy part} of the display facility. You will also find it helpful to include a liberal amount of "REM" statements in your data field t}o document your intent.Before jumping in with both feet I suggest that you skim through all the help options. We have spri}nkled many useful ideas throughout the documentation. We did this because we feel the procedures are simple enough that once} you start you won't come back to hear all of our words of wisdom.GETTING STARTEDAfter playing with the demos for aw}hile you will want to start experimenting yourself. A few suggestions are in order. 1. Number DATA statements > 9999.} 2. Use lots of REM statements. 3. Make a master of the LAYOUT disk. 4. Give your files a meaningful name. } 5. End file names with D:??????.DAT 6. Save frequently using LIST. 7. Debug parts as they are entered.This last }suggestion on debugging requires a more detailed description to see how easily this can be done.The first time you enter th}e display package it can tell it doesn't have any data attached and it stops and asks you for the name of a data file. If wh}at you really want to do is create a new file simply hit the BREAK key at this time and start typing.After entering a few g}eometry cards type RUN. The program will now see that data statments are included and it will display your information. You} will notice an option in the main menu to STOP. This option is there to allow you to exit and add or change data at your le}asure. When you have made enough progress that you would cry if the system locked up its time to save using the LIST comma}nd. To start a new file or delete all your data use the option in the main menu called "NEW DRAWING". Warning don't use thi}s option if you haven't stored your data yet!If you screw up a format the error displayed is normally a referrence to an un}supported entity type=-3.47. This number will be a value in a data statement where you goofed a format or the point count to} be ploted. GOOD LUCK! If you're like me you'll find its more fun and much easier moving furniture on the ATARI than doing} it by hand. Of course maybe your spouse never changes his/she mind.WINDOWINGYou have gatherd by now that all is n}ot roses and the question becomes just what do you get for all your work inputing your entities. The answer is two things, c}oordinate independance and display scaleing.COORDINATE INDEPENDANCEFirst you will notice that you select the units to} be used to describe your data. You are not concerned with how much will fit on the tube or how many plotting units there ar}e in the horizontal and/or vertical axis. You can also use both fractional and negative units if these are useful. The faci}lity layout display world will take care of all the matrix operations needed to keep the Atari rule book happy!DISPLAY SC}ALEINGMost important you can now display your data in a variety of ways just like on the expensive CAD/CAM graphic systems.} You need have no worries about the data that may disappear off the screen wrapping around or generating errors during plott}ing. You will notice some surprisingly powerful clipping logic. For example; a box might might have all four corners off th}e tube but one edge should cross the picture displayed, and it does!Just what is a "Window"?The word "Window" is both }a noun and a verb.Window (the noun)When used as a noun it refer to a box described by two points. The two points are} positions in your input coordinate system that defines the region of your picture that you want displayed on the tube. One }point is called the min value and is the lower left hand point of the box. The other, called the max value is the upper righ}t hand corner of the box.A default box is created for you each time you run the program. The size is calculated such that }all of your data justs fits into the window. This is done by looking at all of your data and determining its maximum and min}imum values in both X and YYou will have a variety of options for changing the size and/or location of the window being use}d. You may also set it back to the original size to see all your data if you want. When you scale by say Two times size the} package does this by simply reducing the size of the window being used while holding the center position.Window (the ve}rb)"Window" the verb refers to the process of mapping your data into a reasonable image on a graphics device. This proces}s clips off data beyond the tube and finds the exact position on the edge of the screen where a line should start or finish d}isplaying.It adjusts your window box to the same proportions as the tube to insure that the angle of any lines displayed ar}e true orientations. It also does the appropiate Y-Axis flipping to map from the traditional righthanded coordinate system i}nto Atari's lefthanded system.This package supports the following windowing,'verb', options: To move a window. } 1. SHIFT X 2. SHIFT Y 3. SET CENTER XC,YC To scale a window. 1. SCA}LE BY # 2. SET SCALE To move and/or scale a window. 1. SET WINDOW 2. WINDOW=DA}TA MAX-MIN'SNote that the windowing menu also contains a display of the current window range and the range of your data. I} suggest you become familiar with the windowing options by displaying one of the demo data sets. You do this by inputing its} name upon entry. For example:  D:DEMO1.DATThen try all the window options watching not only the resulting displays }but also the effects of your commands on the window range.By the way; to terminate a display and return to the display menu} just hit any key. Don't forget that by initilizing the tube dump utility included with this package you can transfer anythi}ng you can get to the tube to your printer. This includes pictures, menus and data or program listings. But more about that} in another HELP menu. I think you will find the data listing facility faster and of higher quality if you want to list your} data or dive in an try to figure out how this package works.Well, I've finally run out of words on my favorate subject. I} think after using the program you'll agree this is the part that makes it unique!MAKING YOUR OWN MANUALOn the back }side of this disk is a complete set of the files used to support the HELP command. Also on this side are files named MANUAL.}LST and MANUAL.TXT.To make your own hardcopy manual simply run the print data routine from the first menu. Input the file }name D:MANUAL.LST and then flip over the disk before hitting the return key!If you have a copy of TEXTWIZARD the file named} MANUAL.TXT can be loaded and printed to produce a higher quality output.If your data files are filling up the space on thi}s floppy and you can live without the HELP aids for awhile you may delete the help data. In DOS delete "D:HELPDOC.*". If yo}u forget you have done this and ask for HELP the program will remind you that the files are missing.COPYING CODES IN THI}S PACKAGEWe encourage you to cut and paste some good utilities from this package. For this reason the software was not m}ashed, etc. but left intact with many good comments to explain how it works. We of course encourage that this will be for yo}ur own use to protect the economic well being of the authors of this package. Some packages you might find valuable would in}clude: 1. Assy code for text in GR.8 2. Basic data print. 3. Assy tube dump. 4. Basic Help controlle}r. 5. Basic Assy code loader.We could supply a few hints on conversion but that would take all of the fun out of it f}or you.  OK; Just one hint! The basic data print utility does a nice job as is for an MX80 printer with just one little fi}x. Change the card RUN "D:DRAW" to simply say "END". If you don't have an Epson printer take out the printer initialization} statements and the basic logic will still deliver the goods minus a couple of minor things like an underlined title.CON}TACTING THE AUTHORSWe have enjoyed writing this software. Phil and I both work during the day for a major supplier of gr}aphics systems and we find it fun to try and fit the Big Blue's logic into an Atari. We of course would like any feedback yo}u might wish to offer either positive or something Phil should have done better.Send your postcards to: Jack G}ilchrist Phil Heavens 42039 Bay Court Infinite Loop Sterling Heights Bit Dropper } Michigan 48078 Assembly USANo collect calls PLEASE!!!!!!HARDCOPY TUBE DUMP UTILITYAfter requesting that th}e printer be initialized for hardcopy output the following commands are available to you at any time: 1. SHIFT+C } To produce large 960 pts/line output. 2. SHIFT+X To produce small 960 pts/line output. 3. SHIFT+Q } To stop/abort printing.THE DEMONSTRATION DATAIncluded on your disk are several demo data sets. These are int}ended to give to you the opportunity to practice windowing and see some examples of the output and data that creates these re}sults.Yes, this is a peek at the abode of one of the authors. We suggest you discard this data when you finish wondering a}bout the size of the monthly heating bills with all of those windows. Be sure to scale up the display enough to see the door}s and windows appear.DATA OVERVIEWWe assume you have a working knowledge of both Basic and DOS commands. Given this} assumption there are many features we considered adding to this package that are not included. This has saved us considerab}le time and you considerable space on this floppy! It is up to you to delete unwanted data files, move the help files to ano}ther disk if you need the space, etc.If you have two drives there are some things you can do to take advantage of your good} fortune! You can set up the system to have all the HELP files and data files on the second disk as follows: 1. Change} HELP.BAS statement that opens files to D2: 2. Use DOS copy command: COPY D1:HELPDOC.*,D2:*.* CO}PY D1:DEMO*.*, D2:*.* COPY D1:*.DAT, D2:*.* 3. Delete all the above from D1 after checking directory of }D2: 4. Answer questions concerning file names in Print and Display codes starting with "D2:".For large applications de}velop your data in pieces. Refer to our comments on coordinate systems to insure they can be merged later.Use a numbering }scheme for your data to separate the files. The first might start with DATA statements of 10000., the second with 11000. etc}.Work on just one part at a time using the LIST command to save it. When the sections appear to be working well separately} use the Basic ENTER command to bring them all together and then LIST them back to disk under a unique name. A good guide li}ne might be to develop your data files in sizes of less than 200 DATA statements.If your final file is huge you may wish to} run D1:DRAW1.BAS through a basic masher. Because of the liberal usage of comment cards this will reduce the code size by 40}%. After saving a copy of the original program you can now replace the version on your working disk.If you still need a li}ttle room try striping out your DATA "REM"'s as a last resort. Unless your layout includes every 2X4 in your house you shoul}dn't have to resort to any of these ideas.DATA COORDINATE SYSTEMSThis package allows you to put in coordinates in th}e traditional engineering right handed system. Positive X increases to the right and positive Y increases as it goes towards} the top of the tube. Angles are to be input in degrees. They may be greater than 360. Positive angles go counter clockwis}e and zero degrees is a horizontal line to the right.X and/or Y positions may be positive or negative and they may be input} as fractions, such as -14.25. You should select the units appropriate for the application you have in mind. In the demos i}ncluded with the package the units are feet.You can select any origin as your base. If you wish to merge various files lat}er you should use common units and origin systems for all the files. This will avoid any relative mapping problems when they } are merged together.The Atari is single precision and a natural system for atoms would likely lead to some accuracy proble }ms. You might find a rough sketch on a piece of graph paper will aid in picking up values to locate items.GENERAL RULES } 1. Honor thy mother and father. 2. Don't spend all your time on your home computer. 3. Keep your flo }ppies clean. 4. Don't give away this software. You get the idea.! There really isn't any restrictions so get in  }there and have some fun!ENTITY FORMATS Type Entity 1 Horizontal Text at Bottom 2 Horizontal Text a}t X,Y 3 Vertical Text at X,Y 4 Horizontal Text Centered at X,Y 5 Vertical Text Centered at X,Y } 7 Counter Clockwise Arc 8 Full Circle 9 Random String of Connected Points 10 Hollow Box Paralle}l to X,Y Axis 11 Solid Box Parallel to X,Y Axis 12 Hollow Box at Angle to X AxisTEXT(TITLE)Type....... 1}; Title Text at BottomFormat..... Type,X,Y,TEXTExample.... 10120 DATA 1,0,0,BASEMENTDescription: This entity will ce}nter a line of text on the bottom line of the screen. This text will not be affected by any window operations performed. Ev}en though the position coordinates X and Y have no effect on the resulting display they must be supplied. TEXT(HORIONTAL)}Type....... 2; Horz. Text At X,YFormat..... Type,X,Y,TEXTExample.... 10130 DATA 2,-4,34,DENDescription: This entit}y will display a horizontal line of text starting at the position supplied. Characters are not scaled but float to whatever }position the anchor X,Y plots. The clipping logic clips whole characters.TEXT(VERTICAL)Type....... 3; Vert. Text At X,}YFormat..... Type,X,Y,TEXTExample.... 10140 DATA 3,3,4.5,DESKDescription: This entity will display a vertical line o}f text starting at the position supplied. The anchor position X,Y may be in any quadrant and fractional input is fine. All }text entities limit an individual text entry to a maximum of 40 characters.TEXT(HORIZONTAL)Type....... 4; Horz. Text Ce}ntered at X,YFormat..... Type,X,Y,TEXTExample.... 10150 DATA 4,1,4,MACHINING CELL #12Description: This entity will d}isplay a horizontal line of text centered on the position supplied. You will find the centering options tend to give more re}asonable displays for a wide range of scale factors.TEXT(VERTICAL)Type....... 5; Vert. Text Centered Format..... Type},X,Y,TEXTExample.... 10160 DATA 5,1,4,Oak TreeDescription: This entity will display a vertical line of text centered }on the position supplied. Geometry plots in GR.8 but Text simulates GR.0 and tends to jump to positions in that plotting gri}d. Some adjustments are made internally to allow fine resolution in the vertical positioning location.ARCType....... 7 }; CCW Arc Format..... Type,ANG,XC,YC,R,ANG1,ANG2Example.... 10170 DATA 7,10,5,4,2,0,90Description: This example will!} display an arc who's center is 5,4 and radius is 2 starting at 0 degrees and swinging counter clockwise 90 degrees. A point"} will be sampled on this arc every 10 degrees. Try this with your own code and you will actually get an oval. The windowing#} function adjusts for the non-uniform size of units in GR.8.CIRCLEType....... 8; Full Circle Format..... Type,ANG,XC,Y$}C,RExample.... 10180 DATA 8,15,2.5,3.7,2Description: This example will display a circle who's center is 2.5,3.7 and %}radius is 2. A point will be sampled every 15 degrees. Circles are the slowest entity to plot and you may wish to use a cru&}de angle during initial tryout. You will find that a final angle of 10 degrees gives a very good display. Using other corse'} angles gives five sided end tables, etc.CONNECTED POINTSType....... 9; String of PointsFormat..... Type,#,X1,Y1,.....(}.,X#,Y#Example.... 10190 DATA 9,2,0,0,7,5Description: This entity draws a connected string of up to 200 points. The )}example would draw a two point line from 0,0 to 7,5. Count your commas carefully to make sure you have the correct number of*} X,Y pairs. This is the most frequent error made when inputing data.BOX(HOLLOW)Type....... 10; Box || to X-AxisForma+}t..... Type,X,Y,XLENGTH,YLENGTHExample.... 10200 DATA 10,0,0,5,-2Description: This entity draws a hollow box square t,}o your X,Y axis system. In the included demo data this data type was combined with type 11 to create the effects of solid wa-}lls with interior windows and doors. By switching the signs for the box's lengths you have quite a bit of freedom in positio.}ning your display.BOX(SOLID)Type....... 11; Solid Box || X-AxisFormat..... Type,X,Y,XLENGTH,YLENGTHExample.... 10210 /}DATA 11,0,0,5,-2Description: This entity draws a solid box square to your X,Y axis system. Input conventions just lik0}e hollow box. Well; we're almost at the end just hang in there a little longer!BOX(ANGLED)Type....... 12; Hollow Box a1}t AngleFormat..... Type,X,Y,XL,YL,ANGLEExample.... 10220 DATA 12,0,0,5,-2,35Description: This entity draws a hollow 2}box at a given "ANGLE" measured counter clockwise from the X-axis. The point about which the box is rotated is its lower lef3}t hand corner if it were set down square to the X-axis. We had a lot of fun making the cliping logic work for this entity!4}PLOT CONTROLFuture releases will contain different line fonts like dashed, etc. We also have plans on the drawing boa5}rds for scaleable text.In this release however we did slip in one peek at this type of function. In plot type 9, point arr6}ay, you can trigger penup or blanking between imbedded points. You do this by setting an X,Y pair where you want this featur7}e to the following value. X=-777777. This triggers command Y=1 ID# of command wantedTHE END8} RI CAD/CAM FACILITY LAYOUTGILCHRIST/HEAVIN Page #@ Release # 1.2 0 501150AT GENERAL PURPOSE OF PACKAGEWe feel that the ATARI has a powerfulset of graphic capabilities. Howeverthe benefits o :}f developing a graphicspicture usually isn't worth all thetime and energy for the typicalcomputer owner.The goal of this ;} package is to allowyou to quickly define a graphicallayout, such as a home floor plan.You will discover that this softwa <}resupports a variety of ways to defineyour geometry and control the sizeand location of images on the tube.It is our hop =}e that our efforts willresult in a new set of useful workfor your home computer. GOOD LUCK!!ties. Howeverthe benefits o` GETTING STARTED Page #1After playing with the demos forawhile you will want to startexperimenting yourself. ?} A fewsuggestions are in order.1. Number DATA statements > 9999.2. Use lots of REM statements.3. Make a master of the LA @}YOUT disk.4. Give your files a meaningful name.5. End file names with D:??????.DAT6. Save frequently using LIST.7. Debug A}parts as they are entered.This last suggestion requires a moredetailed hint to see how easily thiscan be done. B} GETTING STARTED Page #2 (Create/Debug)The first time you enter the displaypackage it can tell it doesn't hav C}eany data attached and it stops andasks you for the name of a data file.If what you really want to do iscreate a new file D} simply hit theBREAK key at this time and starttyping.After entering a few geometry cardstype RUN. The program will now E} seethat data statments are included andit will display your information.You will notice an option in themain menu to ST F}OP. This option isthere to allow you to exit and addor change data at your leasure. GETTING STARTED Page #3 G} (Create/Debug)When you have made enough progressthat you would cry if the systemlocked up its time to save usin H}g theLIST command.To start a new file or delete allyour data use the option in the mainmenu called "NEW DRAWING". Warni I}ngdon't use this option if you haven'tstored your data yet!If you screw up a format the errordisplayed is normally a ref J}errenceto an unsupported entity type=-3.47.This number will be a value in a datastatement where you goofed a formator the K} point count to be ploted.  GETTING STARTED Page #4GOOD LUCK!!!If you're like me you'll find itsmore fu L}n and much easier movingfurniture on the ATARI than doingit by hand.Of course maybe your spouse neverchanges his/she mi M}nd. GETTING STARTED Page #1After playing with the demos forawhile you will want to startexperimenting yourself.  MAKING YOUR OWN MANUALOn the back side of this disk is acomplete set of the files used tosupport the HELP commandO}. Also onthis side is a file named MANUAL.LSTTo make your own hardcopy manualsimply run the print data routinefrom the P}first menu.Input the file name D:MANUAL.LST andthen flip over the disk beforehitting the return key!If your data files Q}are filling up thespace on this floppy and you can livewithout the HELP aids for awhile youmay delete the help data. In DR}OSdelete "D:HELPDOC.*". On the back side of this disk is acomplete set of the files used tosupport the HELP command CONTACTING THE AUTHORSWe have enjoyed writing thissoftware. Phil and I both workduring the day for a major supplierT}of graphics systems and we find itfun to try and fit the Big Blue'slogic into an Atari.We of course would like any feedbU}ackyou might wish to offer eitherpositive or something Phil shouldhave done better.Send your postcards to: Jack GilchV}rist Phil Heavens 42039 Bay Court Infinite Loop Sterling Heights Bit Dropper Michigan 48078 Assembly USAW} No collect calls PLEASE!!!!!! Phil and I both workduring the day for a major supplierC THE DEMONSTRATION DATAIncluded on your disk are severaldemo data sets. These are intendedto give to you the opY}portunity topractice windowing and see someexamples of the output and data thatcreates these results.Yes, this is a peekZ} at the abode ofone of the authors.We suggest you discard this data whenyou finish wondering about the sizeof the monthl[}y heating bills with allof those windows.Be sure to scale up the displayenough to see the doors and windowsappear. \} TAIncluded on your disk are severaldemo data sets. These are intendedto give to you the op DATA COORDINATE SYSTEMSThis package allows you to put incoordinates in the traditionalengineering right handed sy^}stem.Positive X increases to the rightand positive Y increases as it goestowards the top of the tube.Angles are to be i_}nput in degrees.They may be greater than 360.Positive angles go counter clockwiseand zero degrees is a horizontal lineto `}the right.X and/or Y positions may be positiveor negative and they may be input asfractions, such as -14.25. DATA COa}ORDINATE SYSTEMS Page #2You should select the unitsappropriate for the application youhave in mind. In the demos includb}edwith the package the units are feet.You can select any origin as yourbase. If you wish to merge variousfiles later yoc}u should use commonunits and origin systems for all thefiles. This will avoid any relativemapping problems when they ared}merged together.The Atari is single precision and anatural system for atoms would likelylead to some accuracy problems.e}You might find a rough sketch on apiece of graph paper will aid inpicking up values to locate items. right handed sym ENTITY FORMATS Page #1 of manyType Entity 1 Horizontal Text at Bottom 2 Horizontal Text at X,Y !g} 3 Vertical Text at X,Y 4 Horizontal Text Centered at X,Y 5 Vertical Text Centered at X,Y 7 Counter Clockwise !q}bDRAW2D LSTbMANUAL TXTb9HELPDOC T2 b>HELPDOC T4 bNHELPDOC T7 bSHELPDOC T9 bXHELPDOC T11b ]HELPDOC T21b+fHELPDOC T23bHELPDOC T1 b HELPDOC T3 b#HELPDOC T6 b HELPDOC T8 bHELPDOC T10bHELPDOC T20bHELPDOC T22bHELPDOC T24B'DOS SYSB*DUP SYSArc 8 Full Circle 9 Random String of Connected Points 10 Hollow Box Parallel to X,Y Axis 11 Solid Box Parallel to !r}X,Y Axis 12 Hollow Box at Angle to X AxisNote: Entities come in two flavors. The first is text and the second!s} is line geometry. ENTITY FORMATS Page #2Type....... 1; Title Text at BottomFormat.....Type,X,Y,TEXTExampl!t}e.... 10120 DATA 1,0,0,BASEMENTDescription: This entity will center a lineof text on the bottom line of thescreen!u}. This text will not beaffected by any window operationsperformed.Comments: Even though the positioncoordinates X !v}and Y have no effecton the resulting display they mustbe supplied.  ENTITY FORMATS Page #3Type....... 2; H!w}orz. Text At X,YFormat.....Type,X,Y,TEXTExample.... 10130 DATA 2,-4,34,DENDescription: This entity will display a!x}horizontal line of text startingat the position supplied.Comments: Characters are not scaled butfloat to whatever po!y}sition theanchor X,Y plots. The clippinglogic clips whole characters. ENTITY FORMATS Page #4Type....... 3!z}; Vert. Text At X,YFormat.....Type,X,Y,TEXTExample.... 10140 DATA 3,3,4.5,DESKDescription: This entity will displa!{}y avertical line of text startingat the position supplied.Comments: The anchor position X,Y may bein any quadrant a!|}nd fractional inputis fine. All text entities limit anindividual text entry to a maximumof 40 characters. !}} ENTITY FORMATS Page #5Type....... 4; Horz. Text Centered Format.....Type,X,Y,TEXTExample.... 10150 DATA 4,1,4,MACHI!~}NING CELL #12Description: This entity will display ahorizontal line of text centeredon the position supplied.Comm!}ents: You will find the centeringoptions tend to give more reasonabledisplays for a wide range of scalefactors. !} ENTITY FORMATS Page #6Type....... 5; Vert. Text Centered Format.....Type,X,Y,TEXTExample.... 10160 DATA 5,1,4!},Oak TreeDescription: This entity will display avertical line of text centeredon the position supplied.Comments:!} Geometry plots in GR.8 but Textsimulates GR.0 and tends to jump topositions in that plotting grid.Some adjustments ar!}e made internallyto allow fine resolution in thevertical positioning location. ENTITY FORMATS Page #7Type.!}...... 7; CCW Arc Format.....Type,ANG,XC,YC,R,ANG1,ANG2Example.... 10170 DATA 7,10,5,4,2,0,90Description: This exa!}mple will display anarc who's center is 5,4 and radiusis 2 starting at 0 degrees andswinging counter clockwise 90degrees.!} A point will be sampledon this arc every 10 degrees.Comments: Try this with your own code andyou will actually get!} an oval. Thewindowing function adjusts for thenon-uniform size of units in GR.8. ENTITY FORMATS Page #8Ty!}pe....... 8; Full Circle Format.....Type,ANG,XC,YC,RExample.... 10180 DATA 8,15,2.5,3.7,2Description: This example!} will display acircle who's center is 2.5,3.7 andradius is 2. A point will besampled every 15 degrees.Comments: Ci!}rcles are the slowest entityto plot and you may wish to use acrude angle during initial tryout.You will find that a final !}angle of10 degrees gives a very good display.Using other corse angles gives fivesided end tables, etc. ENTITY !}FORMATS Page #9Type....... 9; String of PointsFormat.....Type,#,X1,Y1,......,X#,Y#Example.... 10190 DATA 9,2,0,0,7,5!}Description: This entity draws a connectedstring of up to 200 points. Theexample would draw a two point linefrom !}0,0 to 7,5.Comments:Count your commas carefully to makesure you have the correct number ofX,Y pairs. This is the most !}frequenterror made when inputing data. ENTITY FORMATS Page #10Type.......10; Box || to X-AxisFormat.....Typ!}e,X,Y,XLENGTH,YLENGTHExample.... 10200 DATA 10,0,0,5,-2Description: This entity draws a hollow boxsquare to your X!},Y axis system.Comments: In the included demo data thisdata type was combined with type 11to create the effects of s!}olid wallswith interior windows and doors. By switching the signs for thebox's lengths you have quite a bitof freedo!}m in positioning yourdisplay. ENTITY FORMATS Page #11Type.......11; Solid Box || X-AxisFormat.....Type,X,Y!},XLENGTH,YLENGTHExample.... 10210 DATA 11,0,0,5,-2Description: This entity draws a solid boxsquare to your X,Y ax!}is system.Comments: Input conventions just likehollow box. Well; we're almost at the endjust hang in there a !}little longer! ENTITY FORMATS Page #12Type.......12; Hollow Box at AngleFormat.....Type,X,Y,XL,YL,ANGLEExa!}mple.... 10220 DATA 12,0,0,5,-2,35Description: This entity draws a hollow boxat a given "ANGLE" measured countercl!}ockwise from the X-axis.Comments: The point about which the boxis rotated is its lower left handcorner if it were se!}t down squareto the X-axis. We had a lot of fun making thecliping logic work for this entity! tal Text at X,Y l USING THE HELP UTILITIESOn your disk is stored various filesof textual information that try toexplain the oper%}ation of the ATARICAD/CAM LAYOUT package. After youselect the area where you would likesome assistance this file is %}shownon your screen. At this time youmay select from any of the followingoptions: 1. RETURN TO MENU Hit any %}key 2. CONTINUE WITH NEXT PAGE Hit space bar 3. MAKE HARDCOPY OF TUBE Hold SHIFT and hit key "C" Se%}e HELP for other optionsLITIESOn your disk is stored various filesof textual information that try toexplain the oper$ COMMENTS ON THE GENERAL PROCEDUREThe method of operation expectedin this package is for the user tocreate a file on d)}isk describing thepicture desired.This is done by using the basiclanguage capabilities to create aseries of data stateme)}nts to describethe geometry wanted.The types and forms of geometrysupported are described under theheading "ENTITY FORMA)}TS".The picture description once createdand checked out can be easily savedby using the basic "LIST" command. GE)}NERAL PROCEDURE Page #2Example of LIST: LIST "D1:KITCHEN.DAT",10000,12000When the display package is executedyour )}saved data statements will betemporarily added to the code.It is important that the numberingscheme for the data contains)} onlyvalues of 10000 or larger to insurethat it doesn't destroy part of thedisplay facility.You will also find it helpfu)}l toinclude a liberal amount of "REM"statements in your data field todocument your intent. GENERAL PROCEDURE )} Page #3Before jumping in with both feet Isuggest that you skim through allthe help options.We have sprinkled many use)}ful ideasthroughout the documentation. We did this because we feel theprocedures are simple enough thatonce you start yo)}u won't come backto hear all of our words of wisdom.eration expectedin this package is for the user tocreate a file on d(7 WINDOWING Page #1You have gatherd by now that all isnot roses and the question becomesjust what do you g-}et for all yourwork inputing your entities. Theanswer is two things. COORDINATE INDEPENDANCEFirst you will notice t-}hat you selectthe units to be used to describe yourdata. You were not concerned withhow much would fit on the tube or how-}many plotting units there are in thetube horizontal and vertical axis.You can also use both fractional andnegative units -}if these are useful.The facility layout display worldwill take care of all the matrixoperations needed to keep the Atarir-}ule book happy! WINDOWING Page #2 DISPLAY SCALEINGMost important you can now displayyour data -}in a variety of ways justlike on the expensive CAD/CAMgraphic systems.You need have no worries about thedata that may di-}sappear off thescreen wrapping around or generatingerrors during plotting. You willnotice some surprisingly powerfulclip-}ping logic.For example; a box might might haveall four corners off the tube butone edge should cross the picturedisplaye-}d, and it does!!! WINDOWING Page #3Just what is a "Window"?The word "Window" is both a noun anda verb.-}When used as a noun it refer to a boxdescribed by two points.The two points are positions in yourinput coordinate syste-}m that definesthe region of your picture that youwant displayed on the tube.One point is called the min value andis the -}lower left hand point of thebox. The other, called the max valueor point, is the upper right handcorner of the box. -} WINDOWING Page #4A default box is created for you eachtime you run the program. The sizeis calculated such t-}hat all of yourdata justs fits into the window.This is done by looking at all ofyour data and determining its maximumand-} minimum values in both X and YYou will have a variety of optionsfor changing the size and/or locationof the window being-} used. You mayalso set it back to the original sizeto see all your data if you want.When you scale by say Two times size-}the package does this by simplyreducing the size of the windowbeing used while holding the centerposition. W-}INDOWING Page #5"Window" the verb refers to theprocess of mapping your data intoa reasonable image on a graphicsdev-}ice.This process clips off data off thetube and finds the exact position onthe edge of the screen where a lineshould sta-}rt or finish displaying.It adjusts your window box to thesame proportions as the tube toinsure that the angle of any line-}sdisplayed are true orientations.It also does the appropiate Y-Axisflipping to map from the traditionalrighthanded coord-}inate system intoAtari's lefthanded system. WINDOWING Page #6This package supports the followingwindowi-}ng,'verb', options:To move a window. 1. SHIFT X 2. SHIFT Y 3. SET CENTER XC,YCTo scale a window. 1. SCALE BY # -}2. SET SCALETo move and/or scale a window. 1. SET WINDOW 2. WINDOW=DATA MAX-MIN'S WINDOWING Page #7-}Note that the windowing menu alsocontains a display of the currentwindow range and the range of yourdata.I suggest you b-}ecome familiar withthe windowing options by displayingone of the demo data sets. You dothis by inputing its name upon ent-}ry.For example: D:DEMO1.DATThen try all the window optionswatching not only the resultingdisplays but also the effects -}of yourcommands on the window range.By the way; to terminate a displayand return to the display menu justhit any key. -} WINDOWING Page #8Don't forget that by initilizing thetube dump utility included with thispackage you can t-}ransfer anything youcan get to the tube to your printer.This includes pictures, menus anddata or program listings. But mo-}reabout that in another HELP menu.I think you will find the data list-ing facility faster and of higherquality if you wan-}t to list your dataor dive in an try to figure out howthis package works.Well, I've finally run out of wordson what you -}can tell is my favoratesubject. I'm a little surprised thatyou hung in there with me but I sureyou'll agree it was worth -}it. Afterall this is really the part of theprogram that makes it unique! the question becomesjust what do you g,U COPYING CODES IN THIS PACKAGEWe encourage you to cut and pastesome good utilities from thispackage. For this reason t1}hesoftware was not mashed, etc. butleft intact with many good commentsto explain how it works.We of course encourage tha1}t this willbe for your own use to protect theeconomic well being of the authorsof this package.Some packages you might f1}ind valuablewould include: 1. Assy code for text in GR.8 2. Basic data print. 3. Assy tube dump. 4. Basic Help c1}ontroller. 5. Basic Assy code loader. COPYING CODES Page #2We could supply a few hints onconversion but t1}hat would take allof the fun out of it for you.OK; Just one hint!The basic data print utility does anice job as is for 1}an MX80 printerwith just one little fix. Changethe card RUN "D:DRAW" to simply say"END".If you don't have an Epson prin1}tertake out the printer initializationstatements and the basic logic willstill deliver the goods minus acouple of minor t1}hings like anunderlined title. urage you to cut and pastesome good utilities from thispackage. For this reason t0) HARDCOPY TUBE DUMP UTILITYAfter requesting that the printer beinitialized for hardcopy output thefollowing comman5}ds are available toyou at any time: 1. SHIFT+C To produce large 960 pts/line output. 2. SHIFT+X To produce s5}mall 960 pts/line output. 3. SHIFT+Q To stop/abort printing.beinitialized for hardcopy output thefollowing comman4F DATA OVERVIEW We assume you have a working knowledge of both Basic and DOS commands.Given this assump9}tion there are manyfeatures we considered adding to thispackage that are not included. Thishas saved us considerable time9} andyou considerable space on thisfloppy!It is up to you to delete unwanteddata files, move the help files toanother di9}sk if you need the space,etc. DATA OVERVIEW Page #2If you have two drives there aresome things you can do9} to takeadvantage of your good fortune!You can set up the system to have allthe HELP files and data files on thesecond d9}isk as follows: 1. Change HELP.BAS statement that opens files to D2: 2. Use DOS copy command: COPY D1:HELPDO9}C.*,D2:*.* COPY D1:DEMO*.*, D2:*.* COPY D1:*.DAT, D2:*.* 3. Delete all the above from D1 after check9}ing directory of D2: 4. Answer questions concerning file names in Print and Display codes starting with "D2:".9} DATA OVERVIEW Page #3For large applications develop yourdata in pieces. Refer to ourcomments on coordinat9}e systems toinsure they can be merged later.Use a numbering scheme for your datato separate the files. The firstmight s9}tart with DATA statements of10000., the second with 11000. etc.Work on just one part at a time usingthe LIST command to s9}ave it. Whenthe sections appear to be workingwell separately use the Basic ENTERcommand to bring them all togetherand th9}en LIST them back to disk undera unique name. DATA OVERVIEW Page #4A good guide line might be to developyo9}ur data files in sizes of less than200 DATA statements.If your final file is huge you maywish to run D1:DRAW1.BAS through9} abasic masher. Because of the liberalusage of comment cards this willreduce the code size by 40%.After saving a copy o9}f the originalprogram you can now replace theversion on your working disk. If you still need a little room trystriping 9}out your DATA "REM"'s as alast resort. Unless your layoutincludes every 2X4 in your house youshouldn't have to resort to 9}the ideason this page.W We assume you have a working knowledge of both Basic and DOS commands.Given this assump8 GENERAL RULES 1. Honor thy mother and father. 2. Don't spend all your time on your home computer. 3=}. Keep your floppies clean. 4. Don't give away this software. You get the idea.! There really isn't any restriction=}s so get in there and have some fun! ther and father. 2. Don't spend all your time on your home computer. 3<, PLOT CONTROL Future releases will containdifferent line fonts like dashed,etc. We also have plans on thedrawA}ing boards for scaleable text.In this release however we did slipin one peek at this type of function.In plot type 9, poA}int array, you cantrigger penup or blanking betweenimbedded points.You do this by setting an X,Y pairwhere you want thisA} feature to thefollowing value. X=-777777. This triggers command Y=1 ID# of command wantede plans on thedraw@j D  C D     )16CS S)  C)D1 p p E}0 C9DI pCDL~CiCDiD` DD˙` d J)L !E}D L(( LL()  L| L( S LH 0p n  E} CY?  q  L L  ` )E} `A! d߰")-݆ "  $G@LLL&0") $G%E}H0 3S8`G ȱG ȱG   Gȭ Gȭ GG}GHiH8(()) G$H% `(0E})8` d)L ݆ & LGȘ ݆LL d  ! LL d)N>Q  HH)E}  hyhyB q L> Lm JJ  Ln*` dB%'E}8  H H` 1 { LL   !L     Hh SY?  q  1LE}  !? S   q 1 L   Ll  Lg E`L   !L)  q 1LE}) `L0AM݊L݉ ML  N݆LLLNLMLHG!@E}1F GȱGLLEEȩÑEȑEEȑE Ed E7EȩE  qE} L !,0,0SGɛ L 1 !L EHEh W G gLLSROTCES EERF E} G) *Gȩ GȽG GȌd q q G`  8   0G  `DF}CEDC0X:Ȣ Y ȱC* ? 0.. , 0%n ?A[ 0 : L`L  `, 0`YF}`piH n0)բY? 08`0 F}  0$L GGȽG L `8L`LF}8`  05G)݁,G)ȱGȱGHh0})Hh` B! 8`8iiiLE`F}E8FEh( l0`ɃLL L8^~jj8jHi hEEEiEȱEiE` dTEF} H8EEȱEEȩEh J E8   . m  i`LI!)E1FRF}1LJ舩9GIH`LJJ`HGHh l`F} S gL   8 rii `дCDCG W  F}C  Lq` X٨`DOS SYS IIIIIIIIIIIIIIIC`0 ߩ0}}F } fe |||DDOS DOSDOS SYS }F }D} }F }bHELPDOC T24CDOS SYSF } 0`BDELV !B F }`LVUQ   ]   TU J ]L!T  #      TU F} L ? .  t`GBJ V~DEHI B V0dVF}QDEHI VF9 ,0 ,0 s0hhL  L` H hDHEhF}DEL8HI   0 HI,0 0  9 .G VLOF},0 L4*IJ`llD1:AUTORUN.SYSNEED MEM.SAV TO LOAD THIS FILE.D1:MEM.SAV J y08 B|DEHIF} V0 0`B;DELV䌚 !B y`@ʆ v s? F0Ξ05: [ BDEHIF} VY8 B V  @  /DE `E:D1:DUP.SYSERROR-SAVING USER MEMORY ON DISKTYPE Y TO F}STILL RUN DOS B;DE J V (` 9 V⪍ ઍ  -F}LLu DEHILV 9 .l 9 .l  `` s$B VBHF}I|DE V BLV nB,DE J V* \*` B V BLVDEHI BLVLF}1u H232435; 1 ;  hh@2 e1i1LHҍ 00) 08 109hh@ Ҡ2eF}1i1232435ޥ<<8ZD} 3E:}DISK OPERATING SYSTEM II VERSION 2.0SCOPYRIGHT 1980 ATARIA. DISK DIRECTORY I. FORMAT DISKB. RUN CARTRIDGE J. DJ}UPLICATE DISKC. COPY FILE K. BINARY SAVED. DELETE FILE(S) L. BINARY LOADE. RENAME FILE M. RUN AT ADDRESSF. LOCK FJ}ILE N. CREATE MEM.SAVG. UNLOCK FILE O. DUPLICATE FILEH. WRITE DOS FILES9!&x#!7&p))'&X*./)L''-؆莟J}R'S  vW DEHHI 1A#! @ ~0ɛ8A0.) ȅ 1 1iJ}il ! 1L NO SUCH ITEMSELECT ITEM OR FOR MENU! 0 .{z:*{}.|~ 1 0 0J}JB 18L^%|DLl%DIRECTORY--SEARCH SPEC,LIST FILE? # 0 0 n&|D! 1L NOT A DISK FILEJ}N !B 1L " 1 !BDED:}:1BJ|DE 1DEBHJ }I 1 h0ߢ 0.  0?詛 1 ~0YЛ 1 "L<" "L J!} BL1TYPE "Y" TO DELETE...DELETE FILE SPECCOPY--FROM, TO?OPTION NOT ALLOWED090 FREE SECTORS COPYING---D1:HELPJ"}DOCOT# 0|D .L$A#B#C#JB|DE 1BHIDD#E 1D#0: BJ#} 1L B#C#C#B# B 1N#$0SYS1}:e#D# d# D# .d#ȽD# d# 𩛙d#X# 1,A#J$}PdD#ELO- A.BJdD#E 1 1HH 0hh|DL^%1}:e# Lt% e#dD#EL%J%} 1 0 . .0% 1L WILD CARDS NOT ALLOWED IN DESTINATION 0 A.|K@C}A"D|ݤD|ȩ:|ȩ|ɛ,,(/+.ީ1 1,ɛ`轤{J?}NAME TOO LONG B VL ` L1I H1EӝDL1|mDiE` V0`8d/8 i:"2!22 1J@} L ERROR- 128ɛ+,' 20*.. өw2 1``2TOO MANY DIGITSINVALIDJA} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uJB} HEXADECIMAL PARAMETER800 0 8 00`,0'D800H,ɛh`2L1NEED D1 THRU D4uH